<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>scaler: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">scaler
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li class="current"><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">scaler Documentation</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This is the main header file of the Xilinx MVI Video Scaler device driver.The Scaler device converts a specified rectangular area of an input digital video image from one original sampling grid to a desired target sampling grid.</p>
<p>Video Scaler Device v3.00a features are as follows:</p>
<ul>
<li>Target Clock Frequencies:<ul>
<li>S3ADSP(-4), S6(-2) Families: 150MHz</li>
<li>V5(-1), V6(-1) Families: 225MHz</li>
</ul>
</li>
<li>8, 10 or 12-bit video data supported</li>
<li>YC (4:2:2), YC (4:2:0), RGB (4:4:4) chroma formats supported</li>
<li>1080P/60 supported for 4:2:2 and 4:4:4 (RGB formats (not 4:2:0)</li>
<li>Serial or parallel options (single or multiple filter engines) available to suit high or low bandwidth requirements</li>
<li>Supports spatial resolutions up to 4096x4096</li>
<li>2-12 taps per dimension</li>
<li>Up to 16 user-loadable sets of 16-bit coefficients</li>
<li>Up to 64 phases per coefficient set</li>
<li>16-bit intermediate bitwidth</li>
<li>Programmable (dynamic) scaling factor in both H and V dimensions<ul>
<li>Max 12x resolution change either up or down ~V allows for conversion between QCIF and 1080p</li>
<li>24-bit input fixed point scaling factors: 4 bits integer, 20-bit fraction</li>
</ul>
</li>
<li>Independent H and V scaling factors</li>
<li>Optional coefficient sharing between Y and C filter operations (where appropriate)</li>
<li>Optional coefficient sharing between H and V filter operations (where appropriate)</li>
<li>Programmable (dynamic) start phase (independent H, V start-phase values), range -0.99 to +0.99</li>
<li>Programmable (dynamic) subject area size</li>
<li>Programmable (dynamic) target area size</li>
<li>Coefficient set selectable during operation (eg on V-sync)</li>
<li>Coefficient range -2.0 to +1.99</li>
<li>3 Control interface options<ul>
<li>pCore, with drivers</li>
<li>General Purpose Processor GPP</li>
<li>Constant</li>
</ul>
</li>
<li>Coefficient preload (via .coe file) functionality for all above modes.</li>
<li>Full EDK GUI for scaler customization under XPS</li>
<li>2 Video interface options<ul>
<li>Live video source</li>
<li>Memory source</li>
</ul>
</li>
<li>Interrupts</li>
</ul>
<p>For a full description of Scaler features, please see the hardware spec.</p>
<p>An example is shipped with the driver to demonstrate how to use the APIs this driver provides to access and control the Video Scaler device.</p>
<p><b>Limitation</b></p>
<ul>
<li>Function XScaler_CalcCoeffs() only calculates coefficient values if this driver is *NOT* used on Linux platform. In Linux case, the math library is not available in the kernel and this function only clears the coefficient buffer passed in.</li>
</ul>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who    Date     Changes
----- ------ -------- -------------------------------------------------------
1.00a xd     05/14/09 First release
2.00a xd     12/14/09 Updated Doxygen document tags
3.00a xd     07/29/10 Added core version &amp; sharable coefficient bank
                      support
6.0   adk    12/19/13 Updated as per the New Tcl API's
7.0   adk    08/22/14 Removed XSCL_HANDLER_ERROR and XSCL_HANDLER_EVENT macros.
                      Removed ErrorCallBack and its ref ErrorRef from <a class="el" href="struct_x_scaler.html" title="The XScaler driver instance data. ">XScaler</a>
                      structure.
                      Modified EventCallBack as CallBack and
                      EventRef as CallBackRef.
                      Modified XSCL_STSDONE to XSCL_STATUS_OFFSET,
                      XSCL_STS to XSCL_STATUS_OFFSET, XSCL_STSERR to
                      XSCL_ERROR_OFFSET.
                      Removed the following functional macros
                      XScaler_IntrGetPending,
                      XScaler_IntrEnableGlobal and XScaler_IntrDisableGlobal.
                      uncommented interrupt related macros.
                      Modified prototypes of the following functions by removing IntrType
                      parameter as there was only one interrupt :XScaler_IntrEnable,
                      XScaler_IntrDisable and XScaler_IntrClear.</pre><pre>                      Modifications from xscalar_hw.h file are:
                      Appended register offset macros with _OFFSET and
                      Bit definition with _MASK.
                      Provided backward compatibility for changed macros.
                      Defined the following macros XSCL_CTL_MEMRD_EN_MASK.
                      Modified XSCL_CTL_ENABLE to XSCL_CTL_SW_EN_MASK,
                      XSCL_RESET_RESET_MASK to XSCL_CTL_RESET_MASK,
                      XSCL_CTL_REGUPDATE to XSCL_CTL_RUE_MASK,
                      XSCL_STSDONE_DONE and XSCL_STS_COEF_W_RDY_MASK to
                      XSCL_IXR_COEF_W_RDY_MASK.
                      Added XSCL_ERR_*_MASK s.
                      Removed XSCL_GIER_GIE_MASK.
                      Removed following macros as they were not defined in
                      latest product guide(v 8.1):
                      XSCL_STSERR_CODE*_MASK, XSCL_IXR_OUTPUT_FRAME_DONE_MASK,
                      XSCL_IXR_COEF_FIFO_READY_MASK, XSCL_IXR_INPUT_ERROR_MASK
                      XSCL_IXR_COEF_WR_ERROR_MASK,
                      XSCL_IXR_REG_UPDATE_DONE_MASK,
                      XSCL_IXR_OUTPUT_ERROR_MASK, XSCL_IXR_EVENT_MASK,
                      XSCL_IXR_ERROR_MASK, XSCL_IXR_ALLINTR_MASK,
                      XSCL_HSF_INT_MASK, XSCL_VSF_INT_MASK,
                      XSCL_COEFFVALUE_BASE_SHIFT and XSCL_COEFVALUE_BASE_MASK.
                      Modified bits of the following macros:
                      XSCL_HSF_FRAC_MASK and XSCL_VSF_FRAC_MASK.</pre><pre>                      Modifications from xscalar.c file are:
                      Modified prototype of XScaler_GetVersion API.
                      and functionality of StubCallBack. Modified assert
                      conditions in functions XScaler_CfgInitialize,
                      XScaler_SetPhaseNum, XScaler_LoadCoeffBank.
                      Removed error callback from XScaler_CfgInitialize
                      function.
                      Uncommented XScaler_Reset in XScaler_CfgInitialize
                      function.</pre><pre>                      Modifications from file xscalar_coefs.c file are
                      Removed typedef unsigned short s16 as it was already
                      defined in xil_types.h.
                      Modified coefs_struct to Coefs_Struct.
                      Updated doxygen document tags.
                      XScaler_coef_table is made as a global variable.
                      Memory allocated was freed after usage.</pre><pre>                      Modifications from xscalar_intr.c file are
                      XScaler_IntrHandler and XScaler_SetCallBack APIs were
                      modified</pre><pre>                      Added XScaler_LookupConfig in xscalar_sinit.c file and</pre><pre></pre> </div></div><!-- contents -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
